package com.gopay.bis.dao.payconfig;

import java.util.List;

import com.gopay.common.base.dao.BaseDAO;
import com.gopay.common.constants.bank.BisBankBusinessProd;
import com.gopay.common.constants.bank.BisBankInterfaceChannel;
import com.gopay.common.domain.bis.BaseBisBankConfig;
import com.gopay.common.domain.bis.BaseBisBankExtConfig;
import com.gopay.common.domain.bis.BisBcdlIntrConfig;

/**
 * 
 * @author liujy
 *
 */
public interface BisBankExtConfigDAO extends BaseDAO<BaseBisBankConfig, String>{

	/**
	 * 查询银行接口通道配置
	 * @param prod
	 * @param bank
	 * @return
	 */
	BaseBisBankExtConfig findExtConfigByBankCodeAndBankBusProd(
			BisBankBusinessProd prod, String bank);

	/**
	 * 查询银企直连(线上出款)银行接口通道配置
	 * @param bankCode
	 * @return
	 */
	BisBcdlIntrConfig findBcdlIntrConfigByBankCode(String bankCode);


	List<BaseBisBankConfig> findAllBcdlIntrConfig();

	List<BaseBisBankConfig> findAllEbankCustConfig();
	
	/**
	 * 查询银行接口通道配置
	 * @param prod
	 * @param channel
	 * @param bank
	 * @return
	 */
	BaseBisBankExtConfig findExtConfigByBankChannelAndBankBusProd(
			BisBankBusinessProd prod, BisBankInterfaceChannel channel, String bank);

	BaseBisBankExtConfig findExtConfigByBankChannel(BisBankInterfaceChannel channel);
	
	/** 
     * 根据产品和通道查找银行配置
     * @param prod
     * @param channel
     * @return 
     */
    BaseBisBankExtConfig findfindExtConfigByBankBusProdAndChannel(BisBankBusinessProd prod,BisBankInterfaceChannel channel);
}
